/*
 * @Author: Lin Hongwei
 * @Date: 2021-11-07 21:25:36
 * @LastEditTime: 2021-12-15 19:41:58
 * @LastEditors: Lin Hongwei
 * @email: 1365755396@qq.com
 * @CSDN: https://blog.csdn.net/weixin_45429409
 * @Description: 登录路由处理server层
 */

const jwt = require('jsonwebtoken');
const { TOKEN_KEY, TOKEN_OUT_TIME } = require('../utils/constans');
const { decodeJWT } = require('../utils/user-jwt');


/**
 * @description: 登录处理函数
 */
const Login = (req, res, next) => {
    console.log("进入登录界面", req.method);
    if (req.method == 'GET') {
        return next();
    }
    if (req.body && req.body.user) {
        //生成token
        jwt.sign(
            //payload：签发的 token 里面要包含的一些数据（要携带的数据）
            { user: req.body.user, aa: '自定义的数据' },
            //key：密钥
            TOKEN_KEY,
            //options：一些token相关的配置
            { expiresIn: TOKEN_OUT_TIME },
            //生成token之后的回调函数
            (err, data) => {
                if (err) {
                    res.json({
                        code: 500,
                        message: "token生成异常",
                        data: null
                    })
                    return;
                }
                res.json({
                    code: 200,
                    message: "sussecc",
                    data: { token: data }
                })
            })


        // req.headers.token = token;
        // console.log("token----",token)
        // console.log("ver--",decodeJWT(req));
    }

}

const userList = (req, res, next) => {
    const token = req.headers.token;
    const tokenData = req.user;//expressjwt解析完后的数据

    console.log("token=====", token);
    console.log("tokenData====", tokenData);


    next();



}


module.exports = {
    Login,
    userList
}